﻿using System;
using System.Text;
using Microsoft.SmallBasic.Library;

namespace ExProgram4SmallBasic
{
	///<summary>
	///The Program class provides helpers to control the program execution.
	///</summary>
	//[SmallBasicType]
	public static partial class Program
	{
		///<summary>
		///Gets the number of command-line arguments passed to this program.
		///</summary>
		public static Primitive ArgumentCount {
			get { return Microsoft.SmallBasic.Library.Program.ArgumentCount; }
		}
		///<summary>
		///Gets the executing program's directory.
		///</summary>
		public static Primitive Directory {
			get { return Microsoft.SmallBasic.Library.Program.Directory; }
		}

		///<summary>
		///Delays program execution by the specified amount of MilliSeconds.
		///</summary><param name="milliSeconds">
		///The amount of delay.
		///</param>
		public static void Delay(Primitive milliSeconds)
		{
			Microsoft.SmallBasic.Library.Program.Delay(milliSeconds);
		}

		///<summary>
		///Ends the program.
		///</summary>
		public static void End()
		{
			Microsoft.SmallBasic.Library.Program.End();
		}

		///<summary>
		///Returns the specified argument passed to this program.
		///</summary><param name="index">
		///Index of the argument.
		///</param><returns>
		///The command-line argument at the specified index.
		///</returns>
		public static Primitive GetArgument(Primitive index)
		{
			return Microsoft.SmallBasic.Library.Program.GetArgument(index);
		}
	}
}